Virtual machine (VM) programming systems for large mainframe data processing systems are well known. One software operating system which operates under VM is termed CMS (Conversational Monitor System). CMS allows plural user programs, on a large mainframe, to be simultaneously executed, with each user apparently having a separate "machine" dedicated to that user's software. Of necessity, software written to run under the CMS operating system is complex and requires detailed debugging before it can be reliably operated.
Debugging programs characteristically allow a program-under-test to be operated, statement by statement, with both the input conditions and the output conditions, at each statement, being made available to the programmer for problem resolution. Furthermore, debug programs also enable various routines, sub-routines, entire programs etc. to be timed, and for statistics to be accumulated indicating the relative performance of the software segments.
One such debug program product is called "Interactive Debug", and is marketed by the International Business Machines Corporation as a programming system for debugging programs written in VS Fortran. Interactive Debug (hereinafter called IAD) runs in parallel with a user program and essentially controls the user program to enable it to be interrupted at any selected point, or points; to have any portion assessed as to its execution time; and to accumulate comparative operating statistics.
In order to operate in conjunction with a user program, IAD requires the establishment of certain debug files which define the test functions to be carried out, and identify user program file names and various file parameters of the program-under-test. These identifiers enable the IAD program to control the execution of the user program and provide other general information which enables IAD to fully function in cooperation with the user program.
The IAD program, by its nature, is complex and involves an extensive command structure. As such, the application programmer is not able to operate the IAD program without expending significant time to become familiarized with the details of the IAD protocols. Since application programmers employ debug programs and, in particular the IAD program, on an exception basis, each time the debug program is used, considerable time must be expended in familiarization. Furthermore, the debug program is, itself, subject to constant change and alteration. For instance, it often occurs that a debug program is written with one programming system in mind and is formatted to comply with the requirements of that system. When the debug program is then applied to another software system or an improved system wherein data formats have been altered, or if the debug program has been altered, the programmer must be aware of these changes and accommodate them -- a difficult problem for an infrequent user of the debug program.
Accordingly, it is an object of this invention to provide a user assist program which automatically enables one program to operate in conjunction with another program.
It is another object of this invention to provide a user assist program which enables a program under test to automatically run with a debug program.